using System;
using Sinacor.Infra.UI.Common;
using System.Collections.Generic;

namespace Sinacor.UI.Bovespa.Operador.Model
{
    [Serializable]
    public class Operador : BaseModel
    {
        private Int32? _codigoOperador;
        private String _nomeOperador;
        private Boolean? _indicadorPontaMesa;
        private Int32? _codigoOperadorMegaBolsa;
        private Boolean? _indicadorOperadorHomeBroker;
        private Boolean? _indicadorDesprezaOperadorSinalOfertasMegaBolsa;
        private String _loginOperador;
        private String _codigoOperadorRendaFixa;
        private Boolean _subordinado;
        private Boolean? _bloqueado;

        public Int32? CodigoOperador
        {
            get { return _codigoOperador; }
            set { _codigoOperador = value; this.OnPropertyChanged("CodigoOperador"); }
        }
        
        public String NomeOperador
        {
            get { return _nomeOperador; }
            set { _nomeOperador = value; this.OnPropertyChanged("NomeOperador"); }
        }
        
        public Boolean? IndicadorPontaMesa
        {
            get { return _indicadorPontaMesa; }
            set { _indicadorPontaMesa = value; this.OnPropertyChanged("IndicadorPontaMesa"); }
        }
        
        public Int32? CodigoOperadorMegaBolsa
        {
            get { return _codigoOperadorMegaBolsa; }
            set { _codigoOperadorMegaBolsa = value; this.OnPropertyChanged("CodigoOperadorMegaBolsa"); }
        }
        
        public Boolean? IndicadorOperadorHomeBroker
        {
            get { return _indicadorOperadorHomeBroker; }
            set { _indicadorOperadorHomeBroker = value; this.OnPropertyChanged("IndicadorOperadorHomeBroker"); }
        }
        
        public Boolean? IndicadorDesprezaOperadorSinalOfertasMegaBolsa
        {
            get { return _indicadorDesprezaOperadorSinalOfertasMegaBolsa; }
            set { _indicadorDesprezaOperadorSinalOfertasMegaBolsa = value; this.OnPropertyChanged("IndicadorDesprezaOperadorSinalOfertasMegaBolsa"); }
        }
        
        public String LoginOperador
        {
            get { return _loginOperador; }
            set { _loginOperador = value; this.OnPropertyChanged("LoginOperador"); }
        }

        public String CodigoOperadorRendaFixa
        {
            get { return _codigoOperadorRendaFixa; }
            set { _codigoOperadorRendaFixa = value; this.OnPropertyChanged("CodigoOperadorRendaFixa"); }
        }

        public Boolean Subordinado
        {
            get { return _subordinado; }
            set { _subordinado = value; this.OnPropertyChanged("Subordinado"); }
        }

        /// <summary>
        /// Bloqueado
        /// </summary>
        public Boolean? Bloqueado
        {
            get { return _bloqueado; }
            set
            {
                _bloqueado = value; 
                this.SetValue<Boolean?>("Bloqueado", ref _bloqueado, value);
            }
        }
	}
}